23、Agent Security — 从提示注入到沙箱隔离
权限判断只是安全的一道门。Agent 还会读取不可信网页、文档、邮件和 MCP 服务,这些内容可能通过提示注入改变模型的行为。
威胁面
- 直接注入:用户要求绕过系统规则。
- 间接注入:网页或文件伪装成指令,诱导 Agent 调用工具。
- 工具投毒:工具描述隐藏危险行为,或返回带有指令的结果。
- 数据外泄:把密钥、个人信息或内部文档放进外部请求。
- 执行风险:Shell、浏览器、文件和数据库工具产生破坏性副作用。
纵深防御
- 把指令、数据和工具结果分开标记,永远不把检索内容当作系统规则。
- 工具使用最小权限和最小范围,写操作默认需要确认。
- 对外部内容做长度、类型、来源和敏感信息检查。
- 代码执行放进短生命周期沙箱,限制网络、文件路径、CPU 和内存。
- 秘密只在服务端按需注入,日志和模型上下文都不能出现明文。
- 所有高风险操作写入审计日志,并提供取消和恢复路径。
text
不可信输入 → 隔离与标记 → 策略检查 → 用户确认 → 沙箱执行 → 脱敏结果“模型说可以”永远不是授权依据。授权必须由服务端策略、用户身份、资源范围和当前状态共同决定;工具返回的自然语言也不能改变这条链路。
练习
给搜索工具构造一条带有恶意指令的网页结果,验证 Agent 是否会把它当作用户要求;再给文件删除工具加路径白名单、确认预览和沙箱测试。
评论
正在加载评论…